草庐IT

c++ - C++中static的含义

全部标签

java - 通俗地说,Java 中的 'static' 是什么意思?

这个问题在这里已经有了答案:Whatdoesthe'static'keyworddoinaclass?(22个回答)关闭5年前。我在Wikipedia上看到了它的几个定义,但作为Java的初学者,我仍然不确定它的含义。有人精通Java吗? 最佳答案 static表示标记为此类的变量或方法在类级别可用。换句话说,您无需创建该类的实例即可访问它。publicclassFoo{publicstaticvoiddoStuff(){//doesstuff}}所以,与其创建Foo的实例,然后像这样调用doStuff:Foof=newFoo();

java - Android Studio 错误 : Not annotated parameter overrides @NonNull parameter 的含义

我正在试用AndroidStudio。在创建新项目并将默认onSaveInstanceState方法添加到createMyActivity类时,当我尝试将代码提交到Git时,我收到一个我不明白的奇怪错误。代码是这样的:我得到的错误是这样的:如果我尝试将方法签名更改为protectedvoidonSaveInstanceState(@NotNullBundleoutState),那么IDE会告诉我它无法解析符号NotNull。我需要做什么才能消除警告? 最佳答案 这是一个注解,但正确的名称是NonNull:protectedvoido

java - Java 修饰符(abstract、final、public、static 等)的合理顺序是什么?

Java修饰符的合理顺序是什么?摘要最终原生私有(private)的protected公开静态strictfp同步transient易变更新我已将措辞从推荐更改为合理,以平息是否推荐订单的讨论。 最佳答案 JavaLanguageSpecification中提到了修饰符的习惯使用顺序。(而不是Java虚拟机规范)例如对于classmodifiers你会发现以下定义(摘录):ClassModifiers:ClassModifierClassModifiersClassModifierClassModifier:oneofAnnotat

java - 为什么我们将 Loggers 声明为 static final?

在Java中,为什么最好声明一个记录器staticfinal?privatestaticfinalLoggerS_LOGGER 最佳答案 private-这样没有其他类可以劫持您的记录器static-因此每个类只有一个记录器实例,同时也避免尝试序列化记录器final-在类的生命周期内无需更改记录器另外,我更喜欢名称log尽可能简单,但具有描述性。编辑:但是,这些规则有一个有趣的异常(exception):protectedfinalLoggerlog=LoggerFactory.getLogger(getClass());相对于:p

java - 'public static void' 在 Java 中是什么意思?

publicstaticvoid在Java中是什么意思?我正在学习中。在本书的所有示例中,我使用publicstaticvoid工作的所有示例都出现在任何正在使用或创建的方法之前。这是什么意思? 最佳答案 这是三个完全不同的东西:public表示该方法是可见的,可以从其他类型的其他对象中调用。其他替代方案是private、protected、package和package-private。见here了解更多详情。static表示该方法与该类相关联,而不是该类的特定实例(对象)。这意味着您可以在不创建类的对象的情况下调用静态方法。vo

java - Java中双波浪号(~~)的含义是什么?

在浏览Guava的源代码时,我偶然发现了下面这段代码(内部类hashCode的CartesianSet的部分实现):intadjust=size()-1;for(inti=0;iaxis:axes){hash=31*hash+(size()/axis.size()*axis.hashCode());hash=~~hash;}hash+=adjust;return~~hash;adjust和hash是ints。根据我对Java的了解,~表示按位否定,所以adjust=~~adjust和hash=~~hash应该保持变量不变。运行小测试(当然要启用断言),for(inti=Integer.

java - : The serializable class does not declare a static final serialVersionUID field?是什么意思

这个问题在这里已经有了答案:WhatisaserialVersionUIDandwhyshouldIuseit?(25个回答)关闭4年前。我有标题中给出的警告信息。我想了解并删除它。我已经找到了关于这个问题的一些答案,但由于技术术语过多,我不理解这些答案。能不能用简单的话来解释这个问题?附:我知道OOP是什么。我知道什么是对象、类、方法、字段和实例化。附言如果有人需要我的代码,就在这里:importjava.awt.*;importjavax.swing.*;publicclassHelloWorldSwingextendsJFrame{JTextAream_resultArea=ne

c++ - __stdcall 的含义和用法是什么?

我遇到过__stdcall这些天很多。MSDN并没有很清楚地解释它的真正含义,何时以及为什么应该使用它,如果有的话。如果有人能提供解释,最好是一两个例子,我将不胜感激。 最佳答案 C/C++中的所有函数都有特定的调用约定。调用约定的重​​点是确定如何在调用者和被调用者之间传递数据,以及谁负责清除调用堆栈等操作。Windows上最流行的调用约定是__stdcall,以相反的顺序(从右到左)将参数压入堆栈__cdecl,以相反的顺序(从右到左)将参数压入堆栈__clrcall,按顺序(从左到右)将参数加载到CLR表达式堆栈中。__fas

c++ - 带有 boost::shared_ptr 的 static_cast?

static_cast与boost::shared_ptr的等价物是什么?也就是说,我要如何重写下面的内容Base*b=newDerived();Derived*d=static_cast(b);当使用shared_ptr时?boost::shared_ptrb(newDerived());boost::shared_ptrd=??? 最佳答案 使用boost::static_pointer_cast:boost::shared_ptrb(newDerived());boost::shared_ptrd=boost::static_

c++ - __declspec(dllimport) 的真正含义是什么?

我看到的Qt源代码是这样的:classQ_CORE_EXPORTQBasicAtomicInt{public:...};Q_CORE_EXPORT宏定义如下:defineQ_DECL_IMPORT__declspec(dllimport)那么__declspec(dllimport)到底是什么意思? 最佳答案 __declspec是Microsoft特定的属性,允许您指定存储类信息。(Nitpicker'sCorner:但是,许多其他编译器供应商——例如GCC——现在支持这种语言扩展,以便与针对Microsoft编译器编写的已安装代